package hu.mapro.gwtui.gxt.client.recordseditor.requestfactory;

import hu.mapro.gwtui.client.Action;

import java.util.List;

import com.google.web.bindery.requestfactory.shared.BaseProxy;
import com.google.web.bindery.requestfactory.shared.Receiver;
import com.google.web.bindery.requestfactory.shared.RequestContext;

public interface Interface<T extends BaseProxy> {
	
	RequestContext newRequestContext();

	void list(Receiver<List<T>> receiver);
	void persist(T object, Receiver<Void> receiver);
	void merge(T object, Receiver<T> receiver);
	void remove(List<T> object, Receiver<Void> receiver);
	void addChangeHandler(Action handler);
	
}